\changetocdepth {2}
\changetocdepth {2}
\select@language {polish}
\contentsline {chapter}{Spis tre\'sci}{i}{section*.1}
\contentsline {chapter}{Wst\k ep}{1}{chapter*.2}
\contentsline {chapter}{\chapternumberline {1}Wprowadzenie}{3}{chapter.1}
\contentsline {section}{\numberline {1.1}Filtracja adaptacyjna}{3}{section.1.1}
\contentsline {section}{\numberline {1.2}Zastosowania filtr\'ow adaptacyjnych}{4}{section.1.2}
\contentsline {subsubsection}{Identyfikacja}{6}{section*.3}
\contentsline {subsubsection}{Modelowanie odwrotne}{6}{section*.4}
\contentsline {subsubsection}{Predykcja}{6}{section*.5}
\contentsline {subsubsection}{Usuwanie zak\IeC {\l }\'oce\'n}{6}{section*.6}
\contentsline {section}{\numberline {1.3}Struktury filtr\'ow}{7}{section.1.3}
\contentsline {section}{\numberline {1.4}Cele pracy}{10}{section.1.4}
\contentsline {chapter}{\chapternumberline {2}Podstawy teoretyczne filtracji adaptacyjnej}{11}{chapter.2}
\contentsline {section}{\numberline {2.1}Filtracja optymalna - filtr Wienera}{11}{section.2.1}
\contentsline {section}{\numberline {2.2}Ograniczenia praktyczne filtru Wienera}{13}{section.2.2}
\contentsline {section}{\numberline {2.3}Metody gradientowe}{13}{section.2.3}
\contentsline {subsection}{\numberline {2.3.1}Algorytmy najszybszego spadku}{14}{subsection.2.3.1}
\contentsline {subsubsection}{Warunek zbie\.zno\'sci}{16}{section*.7}
\contentsline {subsection}{\numberline {2.3.2}Algorytmy Newtona-Raphsona}{16}{subsection.2.3.2}
\contentsline {subsection}{\numberline {2.3.3}Algorytmy Quasi-Newtona}{17}{subsection.2.3.3}
\contentsline {section}{\numberline {2.4}Adaptacyjne algorytmy gradientu stochastycznego}{17}{section.2.4}
\contentsline {subsection}{\numberline {2.4.1}Algorytm LMS}{18}{subsection.2.4.1}
\contentsline {subsubsection}{Warunek zbie\.zno\'sci}{18}{section*.8}
\contentsline {subsubsection}{Niedopasowanie}{19}{section*.9}
\contentsline {subsection}{\numberline {2.4.2}Algorytm NLMS}{20}{subsection.2.4.2}
\contentsline {subsection}{\numberline {2.4.3}Algorytm NLMS z normalizacj\k a mocy}{20}{subsection.2.4.3}
\contentsline {subsection}{\numberline {2.4.4}Algorytm Leaky-LMS}{20}{subsection.2.4.4}
\contentsline {section}{\numberline {2.5}Blokowe filtry adaptacyjne}{21}{section.2.5}
\contentsline {subsection}{\numberline {2.5.1}Struktura blokowa}{22}{subsection.2.5.1}
\contentsline {subsection}{\numberline {2.5.2}Decymacja i interpolacja}{25}{subsection.2.5.2}
\contentsline {subsection}{\numberline {2.5.3}Filtr adaptacyjny}{26}{subsection.2.5.3}
\contentsline {subsection}{\numberline {2.5.4}Normalizacja mocy}{27}{subsection.2.5.4}
\contentsline {section}{\numberline {2.6}Z\IeC {\l }o\.zono\'s\'c obliczeniowa algorytm\'ow}{27}{section.2.6}
\contentsline {chapter}{\chapternumberline {3}Opis platformy CUDA}{31}{chapter.3}
\contentsline {section}{\numberline {3.1}Wprowadzenie}{31}{section.3.1}
\contentsline {section}{\numberline {3.2}Skalowalno\'s\'c modelu}{31}{section.3.2}
\contentsline {section}{\numberline {3.3}Model programowania}{32}{section.3.3}
\contentsline {subsection}{\numberline {3.3.1}Funkcje GPU}{32}{subsection.3.3.1}
\contentsline {subsection}{\numberline {3.3.2}W\k atki CUDA}{33}{subsection.3.3.2}
\contentsline {subsection}{\numberline {3.3.3}Programowanie heterogeniczne}{34}{subsection.3.3.3}
\contentsline {subsection}{\numberline {3.3.4}Hierarchia pami\k eci}{34}{subsection.3.3.4}
\contentsline {section}{\numberline {3.4}Mo\.zliwo\'sci obliczeniowe}{35}{section.3.4}
\contentsline {section}{\numberline {3.5}Biblioteka CUFFT}{35}{section.3.5}
\contentsline {section}{\numberline {3.6}Strumienie CUDA}{37}{section.3.6}
\contentsline {subsection}{\numberline {3.6.1}Pami\k e\'c page-locked}{38}{subsection.3.6.1}
\contentsline {subsection}{\numberline {3.6.2}Transfer asynchroniczny i nak\IeC {\l }adanie operacji}{38}{subsection.3.6.2}
\contentsline {chapter}{\chapternumberline {4}Implementacja algorytm\'ow}{41}{chapter.4}
\contentsline {section}{\numberline {4.1}Platforma testowa}{41}{section.4.1}
\contentsline {subsection}{\numberline {4.1.1}Laptop Dell Vostro 3700}{41}{subsection.4.1.1}
\contentsline {subsection}{\numberline {4.1.2}Szczeg\'o\IeC {\l }owe dane karty graficznej}{41}{subsection.4.1.2}
\contentsline {subsubsection}{Specyfikacja jednostki GPU}{41}{section*.16}
\contentsline {subsubsection}{Specyfikacja pami\k eci}{42}{section*.17}
\contentsline {subsubsection}{Dodatkowe w\IeC {\l }a\'sciwo\'sci}{42}{section*.18}
\contentsline {section}{\numberline {4.2}Etapy implementacji}{42}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}MATLAB}{42}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}C/C++}{43}{subsection.4.2.2}
\contentsline {subsection}{\numberline {4.2.3}CUDA C}{43}{subsection.4.2.3}
\contentsline {subsubsection}{Wersja 1 - \textit {BLMS\_GPU}}{43}{section*.19}
\contentsline {subsubsection}{Wersja 2 - \textit {BLMS\_GPU FFTW}}{45}{section*.20}
\contentsline {subsubsection}{Wersja 3 - \textit {BLMS\_GPU CUFFT}}{47}{section*.21}
\contentsline {subsubsection}{Wersja 4 - \textit {BLMS\_GPU streams}}{49}{section*.22}
\contentsline {subsubsection}{Wersja 5 - \textit {BLMS\_GPU signals}}{52}{section*.23}
\contentsline {section}{\numberline {4.3}Wydajno\'s\'c platform GPU i CPU}{54}{section.4.3}
\contentsline {subsection}{\numberline {4.3.1}Platforma CPU}{55}{subsection.4.3.1}
\contentsline {subsection}{\numberline {4.3.2}Platforma GPU}{57}{subsection.4.3.2}
\contentsline {subsection}{\numberline {4.3.3}Por\'ownanie wydajno\'sci platform CPU i GPU}{57}{subsection.4.3.3}
\contentsline {chapter}{\chapternumberline {5}Podsumowanie i wnioski}{63}{chapter.5}
\contentsline {chapter}{Bibliografia}{65}{section*.25}
\contentsline {appendix}{\chapternumberline {A}Spis zawarto\'sci no\'snika CD}{67}{appendix.A}
\contentsline {chapter}{Spis rysunk\'ow}{69}{section*.26}
